Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support


Apple II Miscellaneous
#9:    AppleSoft Real Variable Storage

Revised by:    Pete McDonald                                    November 1988
Written by:    Cameron Birse                                    December 1986

This Technical Note discusses real variable storage in AppleSoft BASIC.
_____________________________________________________________________________

In AppleSoft BASIC, real variables (non-array) are stored sequentially 
starting at the address pointed to by locations $69 and $6A.  The first two 
bytes are the name of the variable, the third is the exponent, and the fourth 
through seventh are the mantissa.

Exponent    The top bit of this byte is the sign of the exponent.  This sign 
            bit is the opposite of normal sign bits, since zero is negative 
            and one is positive.  The remainder of the byte minus one is the 
            value of the exponent (i.e., 84 is a positive exponent of 3).

Mantissa    The mantissa is a binary fraction with the first bit being the 
            sign bit (normal this time with zero being positive and one 
            negative), and the remaining bits are fractional values starting 
            with .5, .25, .125, etc.

The equation which follows is:  2^(Exponent-1) * 1.Mantissa

Examples

A = 3 (real variable equal to 3)

The seven bytes look like:    41    00                Variable name = A
                              82                      Exponent = 1
                              40    00    00    00    Mantissa = .5

which works out as:    2^1 * 1.5 = 3


B = 5 (real variable equal to 5)

The seven bytes look like:    42    00                Variable name = B
                              83                      Exponent = 2
                              20    00    00    00    Mantissa = .25

which works out as:    2^2 * 1.25 = 5


Further Reference
o    AppleSoft BASIC Programmer's Reference Manual

